##本功能只扫描漫画所有图片
##这个是通过漫画章节id获取图片列表的接口https://om0813.zw7gmc49.work/api/comics/base/chapterInfo?chapterId=688246&_t=1756455434151
##需要新建数据表,字段根据comic_images.json
##查询comics_chapters表，未扫描的，循环扫描保存数据库，然后更新扫描状态
from 核心.配置文件 import settings
from 核心.解密数据 import vp
from 核心.公共函数 import comm
from 核心.数据操作 import MySQLCRUD
import requests, json, time


class ScanComicImages:
    ##初始化
    def __init__(self):
        self.web_url = settings.BASE_URL
        self.comm = comm
    ##查询comics_chapters表，未扫描的，循环扫描保存数据库，然后更新扫描状态
    def get_chapters(self):
        pass

    ##扫描章节图片
    def scan_comic_images(self, chapter_id):
        try:
            current_timestamp = int(time.time() * 1000)
            url = f"{self.web_url}/api/comics/base/chapterInfo?chapterId={chapter_id}&_t=={current_timestamp}"
            response = self.comm.get_resp(url)

            if not response or response.status_code != 200:
                error_msg = f"HTTP请求失败: {response.status_code if response else 'No response'}"
                print(f"✗ {error_msg}")
                return False, error_msg

            response_data = response.json()
            images_data = vp(response_data['encData'])
            print(f"{images_data}")
            ##保存到数据库

        except json.JSONDecodeError as json_error:
            error_msg = f"JSON解析失败: {json_error}"
            print(f"✗ {error_msg}")
            return False, error_msg
        except Exception as e:
            error_msg = f"扫描漫画图片失败: {e}"
            print(f"✗ {error_msg}")
            return False, error_msg


if __name__ == "__main__":
    scan_images = ScanComicImages()
    ##扫描单章节
    # scan_images.scan_comic_images(chapter_id='688246')
    ##扫描全部
    scan_images.get_chapters()
